package com.ztesoft.book.core.quartz.schedulejob.service.impl;

import com.ztesoft.book.core.quartz.schedulejob.service.SysTaskService;
import com.ztesoft.book.core.wx.wxminuser.dto.WxMinUserDTO;
import com.ztesoft.book.core.wx.wxminuser.service.WxMinUserService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;

import javax.annotation.Resource;

/**
 * @Description: 定时任务入口，所有定时任务通过改入口分配执行任务
 * @Author: YangFan
 * @Date: 2021-03-22 16:57
 */
@Slf4j
@Component("sysTask")
public class SysSysTaskServiceImpl implements SysTaskService {

    @Resource
    private WxMinUserService wxMinUserService;

    /**
     * 方法功能描述:
     * < 动态调度任务入口 >
     *
     * @param params 【参数 1 注释说明】
     * @return void                            【返回值 注释说明】
     * @author YangFan
     * @date 2021-05-17 17:54
     */
    @Override
    public void run(String params, String funParams) {
        switch (params) {
            case "task_test":
                log.info("Task测试定时任务正在执行");
                // 测试，测试定时器自身以及定时器内的新增业务，在脱离登录的情况下各种自定义拦截，shiro拦截在admin和api的不同环境下的执行情况
                WxMinUserDTO dto = new WxMinUserDTO();
                dto.setMinOpenid("test");
                wxMinUserService.save(dto);
                break;
            default:
                log.info("未找到匹配的调度器任务参数，请检查任务参数字段是否正确！", params);
                break;
        }
    }


}
